Crate async_nats
source · [−]Expand description
A Rust async bleeding edge client for the NATS.io ecosystem.
git clone https://github.com/nats-io/nats.rs
NATS.io is a simple, secure and high performance open source messaging
system for cloud native applications, IoT
messaging, and microservices
architectures.
For sync API refer https://crates.io/crates/nats
For more information see https://nats.io/.
Examples
Below you can find some basic examples how to use this library.
For details, refer docs for specific method/struct.
Complete example
use bytes::Bytes;
use futures::StreamExt;
#[tokio::main]
async fn example() {
let client = async_nats::connect("demo.nats.io").await.unwrap();
let mut subscriber = client.subscribe("foo".into()).await.unwrap();
for _ in 0..10 {
client.publish("foo".into(), "data".into()).await.unwrap();
}
let mut i = 0;
while subscriber.next()
.await
.is_some()
{
i += 1;
if i >= 10 {
break;
}
}
assert_eq!(i, 10);
}
Publish
let client = async_nats::connect("demo.nats.io").await?;
let subject = String::from("foo");
let data = Bytes::from("bar");
for _ in 0..10 {
client.publish("subject".into(), "data".into()).await?;
}
Subscribe
let client = async_nats::connect("demo.nats.io").await?;
let mut subscriber = client.subscribe("foo".into()).await.unwrap();
while let Some(message) = subscriber.next().await {
println!("Received message {:?}", message);
}
Re-exports
pub use tokio_rustls::rustls;
Modules
Structs
Error report from signing callback
Client is a Clonable
handle to NATS connection.
Client should not be created directly. Instead, one of two methods can be used:
connect and ConnectOptions::connect
Info to construct a CONNECT message.
Connect options. Used to connect with NATS when custom config is needed.
A set of HTTP headers
Represents an HTTP header field value.
Address of a NATS server.
Information sent by the server back to this client during initial connection, and possibly again later.
Retrieves messages from given subscription
created by Client::subscribe.
Enums
ClientOp
represents all actions of Client
.
Protocol version used by the client.
Traits
Capability to convert into a list of NATS server addresses.
Functions
Connects to NATS with default config.
Connects to NATS with specified options.